package 算法;

import java.util.Scanner;

/**
 * @author 挚爱之夕
 * @version 1.0
 * @implSpec
 * 输入一个长度为n的整数序列。
 * 接下来再输入m个询问，每个询问输入一对l, r。
 * 对于每个询问，输出原序列中从第l个数到第r个数的和。

 * 输入格式
 * 第一行包含两个整数n和m。
 * 第二行包含n个整数，表示整数数列。
 * 接下来m行，每行包含两个整数l和r，表示一个询问的区间范围。

 * 输出格式
 * 共m行，每行输出一个询问的结果。

 * 数据范围
 * 1≤l≤r≤n,
 * 1≤n,m≤100000,
 * −1000≤数列中元素的值≤1000

 * 输入样例：
 5 3
 2 1 3 6 4
 1 2
 1 3
 2 4

 * 输出样例：
 * 3
 * 6
 * 10
 * @since 2023 - 03 - 27 - 17:18
 */
public class _001前缀和 {
}
class Main_001{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt(), m = sc.nextInt();
        //构造前缀数组
        int[] sums = new int[n + 1];
        for(int i = 1; i <= n; i++){
            sums[i] = sums[i - 1] + sc.nextInt();
        }
        int l, r;
        while(m-- > 0){
            l = sc.nextInt();
            r = sc.nextInt();

            System.out.println(sums[r] - sums[l - 1]);
        }
    }
}
